package com.my.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.my.model.article.dtos.ArticleDto;
import com.my.model.article.dtos.ArticleHomeDto;
import com.my.model.article.pojos.ApArticle;
import com.my.model.common.dtos.ResponseResult;
import com.my.model.mess.ArticleVisitStreamMess;

import java.util.Map;


public interface ApArticleService extends IService<ApArticle> {
    /**
     * 根据参数加载文章
     * @param loadtype 1.加载更多 2.加载最新
     * @param dto
     * @return
     */
    ResponseResult load(Short loadtype, ArticleHomeDto dto);

    /**
     * 加载文章列表
     * @param dto
     * @param type  1 加载更多   2 加载最新
     * @param firstPage  true  是首页  flase 非首页
     * @return
     */
    ResponseResult load2(ArticleHomeDto dto,Short type,boolean firstPage);

    /**
     * 保存app端文章
     * @param dto
     * @return
     */
    ResponseResult saveArticle(ArticleDto dto);

    /**
     * 删除App文章
     * @param id
     * @return
     */
    ResponseResult deleteArticle(Long id);

    /**
     * 文章上下架
     * @param message
     * @return
     */
    ResponseResult downOrUp(String message);

    ResponseResult loadArticleBehavior(Map map);

    ResponseResult readBehavior(Map map);

    ResponseResult likesBehavior(Map map);

    ResponseResult collBehavior(Map map);

    /**
     * 更新文章的分值  同时更新缓存中的热点文章数据
     * @param mess
     */
    void updateScore(ArticleVisitStreamMess mess);
}
